/*      */ package dm.jdbc.driver;
/*      */ 
/*      */ import dm.jdbc.dataConvertion.CType2JType;
/*      */ import dm.jdbc.dbaccess.Const;
/*      */ import dm.jdbc.dbaccess.DBError;
/*      */ import dm.jdbc.desc.ParameterDesc;
/*      */ import dm.sql.DmdbIntervalDT;
/*      */ import dm.sql.DmdbIntervalYM;
/*      */ import dm.sql.DmdbTime;
/*      */ import java.io.InputStream;
/*      */ import java.io.Reader;
/*      */ import java.math.BigDecimal;
/*      */ import java.net.URL;
/*      */ import java.sql.Array;
/*      */ import java.sql.Blob;
/*      */ import java.sql.CallableStatement;
/*      */ import java.sql.Clob;
/*      */ import java.sql.Ref;
/*      */ import java.sql.ResultSet;
/*      */ import java.sql.SQLException;
/*      */ import java.sql.Time;
/*      */ import java.sql.Timestamp;
/*      */ import java.util.ArrayList;
/*      */ import java.util.Calendar;
/*      */ import java.util.Map;
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ public class DmdbCallableStatement_bs
/*      */   extends DmdbPreparedStatement_bs
/*      */   implements CallableStatement
/*      */ {
/*   74 */   String m_serverEncoding = null;
/*   75 */   boolean wasNullFlag = false;
/*      */   
/*   77 */   ArrayList colsInfo = null;
/*      */   
/*   79 */   short resultsCount = 0;
/*      */   
/*      */ 
/*      */   void initializeReuseCallableStmt(DmdbConnection_bs conn, String sql)
/*      */     throws SQLException
/*      */   {
/*   85 */     super.initializeReusePreparedStmt(conn, sql);
/*   86 */     this.type = 2;
/*   87 */     this.m_serverEncoding = conn.getServerEncoding();
/*      */   }
/*      */   
/*      */ 
/*      */   DmdbCallableStatement_bs(DmdbConnection_bs conn, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
/*      */     throws SQLException
/*      */   {
/*   94 */     super(conn, sql, resultSetType, resultSetConcurrency, resultSetHoldability);
/*      */     
/*   96 */     this.type = 2;
/*   97 */     this.m_serverEncoding = conn.getServerEncoding();
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(int parameterIndex, int sqlType)
/*      */     throws SQLException
/*      */   {
/*  133 */     if (Const.TRACE_LEVEL > 0) {
/*  134 */       DmdbLog.trace(this, "registerOutParameter(int, int)", 
/*  135 */         "parameterIndex = " + parameterIndex + ", sqlType = " + 
/*  136 */         sqlType);
/*      */     }
/*      */     
/*  139 */     regOutParam(parameterIndex, sqlType);
/*      */     
/*  141 */     if ((sqlType == 50) || (sqlType == -10)) {
/*  142 */       this.resultsCount = ((short)(this.resultsCount + 1));
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(int parameterIndex, int sqlType, int scale)
/*      */     throws SQLException
/*      */   {
/*  170 */     if (Const.TRACE_LEVEL > 0) {
/*  171 */       DmdbLog.trace(this, "registerOutParameter(int, int, int)", 
/*  172 */         "parameterIndex = " + parameterIndex + ", sqlType = " + 
/*  173 */         sqlType + ", scale = " + scale);
/*      */     }
/*  175 */     regOutParam(parameterIndex, sqlType, scale);
/*      */     
/*  177 */     if ((sqlType == 50) || (sqlType == -10)) {
/*  178 */       this.resultsCount = ((short)(this.resultsCount + 1));
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean wasNull()
/*      */     throws SQLException
/*      */   {
/*  193 */     if (Const.TRACE_LEVEL > 0) {
/*  194 */       DmdbLog.trace(this, "wasNull()", "");
/*      */     }
/*      */     
/*  197 */     return this.wasNullFlag;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public String getString(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  218 */     checkOutParam(parameterIndex);
/*      */     
/*  220 */     if (Const.TRACE_LEVEL > 0) {
/*  221 */       DmdbLog.trace(this, "getString(int)", "parameterIndex = " + 
/*  222 */         parameterIndex);
/*      */     }
/*      */     
/*  225 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  226 */       return null;
/*      */     }
/*  228 */     ParameterDesc paramDesc = this.m_paramsDesc[(parameterIndex - 1)];
/*  229 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  230 */     return CType2JType.getString(bs, paramDesc, getHandle(), this.connection, false);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean getBoolean(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  247 */     checkOutParam(parameterIndex);
/*      */     
/*  249 */     if (Const.TRACE_LEVEL > 0) {
/*  250 */       DmdbLog.trace(this, "getBoolean(int)", "parameterIndex = " + 
/*  251 */         parameterIndex);
/*      */     }
/*      */     
/*  254 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  255 */       return false;
/*      */     }
/*  257 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  258 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  259 */     return CType2JType.getBoolean(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte getByte(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  275 */     checkOutParam(parameterIndex);
/*      */     
/*  277 */     if (Const.TRACE_LEVEL > 0) {
/*  278 */       DmdbLog.trace(this, "getByte(int)", "parameterIndex = " + 
/*  279 */         parameterIndex);
/*      */     }
/*      */     
/*  282 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  283 */       return 0;
/*      */     }
/*  285 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  286 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  287 */     return CType2JType.getByte(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public short getShort(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  303 */     checkOutParam(parameterIndex);
/*      */     
/*  305 */     if (Const.TRACE_LEVEL > 0) {
/*  306 */       DmdbLog.trace(this, "getShort(int)", "parameterIndex = " + 
/*  307 */         parameterIndex);
/*      */     }
/*      */     
/*  310 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  311 */       return 0;
/*      */     }
/*  313 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  314 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  315 */     return CType2JType.getShort(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getInt(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  331 */     checkOutParam(parameterIndex);
/*      */     
/*  333 */     if (Const.TRACE_LEVEL > 0) {
/*  334 */       DmdbLog.trace(this, "getInt(int)", "parameterIndex = " + 
/*  335 */         parameterIndex);
/*      */     }
/*      */     
/*  338 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  339 */       return 0;
/*      */     }
/*  341 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  342 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  343 */     return CType2JType.getInt(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public long getLong(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  359 */     checkOutParam(parameterIndex);
/*      */     
/*  361 */     if (Const.TRACE_LEVEL > 0) {
/*  362 */       DmdbLog.trace(this, "getLong(int)", "parameterIndex = " + 
/*  363 */         parameterIndex);
/*      */     }
/*      */     
/*  366 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  367 */       return 0L;
/*      */     }
/*  369 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  370 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  371 */     return CType2JType.getLong(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public float getFloat(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  387 */     checkOutParam(parameterIndex);
/*      */     
/*  389 */     if (Const.TRACE_LEVEL > 0) {
/*  390 */       DmdbLog.trace(this, "getFloat(int)", "parameterIndex = " + 
/*  391 */         parameterIndex);
/*      */     }
/*      */     
/*  394 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  395 */       return 0.0F;
/*      */     }
/*  397 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  398 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  399 */     return CType2JType.getFloat(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public double getDouble(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  415 */     checkOutParam(parameterIndex);
/*      */     
/*  417 */     if (Const.TRACE_LEVEL > 0) {
/*  418 */       DmdbLog.trace(this, "getDouble(int)", "parameterIndex = " + 
/*  419 */         parameterIndex);
/*      */     }
/*      */     
/*  422 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  423 */       return 0.0D;
/*      */     }
/*  425 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  426 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  427 */     return CType2JType.getDouble(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   /**
/*      */    * @deprecated
/*      */    */
/*      */   public BigDecimal getBigDecimal(int parameterIndex, int scale)
/*      */     throws SQLException
/*      */   {
/*  449 */     checkOutParam(parameterIndex);
/*      */     
/*  451 */     if (Const.TRACE_LEVEL > 0) {
/*  452 */       DmdbLog.trace(this, "getBigDecimal(int, int)", "parameterIndex = " + 
/*  453 */         parameterIndex + ", scale = " + scale);
/*      */     }
/*      */     
/*  456 */     BigDecimal bd = getBigDecimalWithServerDefinedScale(parameterIndex);
/*  457 */     if (bd == null) {
/*  458 */       return null;
/*      */     }
/*  460 */     return bd.setScale(scale, 4);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte[] getBytes(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  478 */     checkOutParam(parameterIndex);
/*      */     
/*  480 */     if (Const.TRACE_LEVEL > 0) {
/*  481 */       DmdbLog.trace(this, "getBytes(int)", "parameterIndex = " + 
/*  482 */         parameterIndex);
/*      */     }
/*      */     
/*  485 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  486 */       return null;
/*      */     }
/*  488 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  489 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  490 */     return CType2JType.getBytes(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public java.sql.Date getDate(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  506 */     checkOutParam(parameterIndex);
/*      */     
/*  508 */     if (Const.TRACE_LEVEL > 0) {
/*  509 */       DmdbLog.trace(this, "getBytes(int)", "parameterIndex = " + 
/*  510 */         parameterIndex);
/*      */     }
/*      */     
/*  513 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  514 */       return null;
/*      */     }
/*  516 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  517 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  518 */     return CType2JType.getDate(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  535 */     checkOutParam(parameterIndex);
/*      */     
/*  537 */     if (Const.TRACE_LEVEL > 0) {
/*  538 */       DmdbLog.trace(this, "getBytes(int)", "parameterIndex = " + 
/*  539 */         parameterIndex);
/*      */     }
/*      */     
/*  542 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  543 */       return null;
/*      */     }
/*  545 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  546 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  547 */     return CType2JType.getTime(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  565 */     checkOutParam(parameterIndex);
/*      */     
/*  567 */     if (Const.TRACE_LEVEL > 0) {
/*  568 */       DmdbLog.trace(this, "getBytes(int)", "parameterIndex = " + 
/*  569 */         parameterIndex);
/*      */     }
/*      */     
/*  572 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  573 */       return null;
/*      */     }
/*  575 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  576 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  577 */     return CType2JType.getTimestamp(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  604 */     return getObjectInner(parameterIndex, this.connection.getTypeMap());
/*      */   }
/*      */   
/*      */   public ResultSet getCursor(String parameterName) throws SQLException {
/*  608 */     int parameterIndex = getParamIndex(parameterName);
/*      */     
/*  610 */     if (Const.TRACE_LEVEL > 0) {
/*  611 */       DmdbLog.trace(this, "getCursor(String)", "parameterName = " + 
/*  612 */         parameterName);
/*      */     }
/*      */     
/*  615 */     return getCursor(parameterIndex);
/*      */   }
/*      */   
/*      */   public ResultSet getCursor(int parameterIndex) throws SQLException {
/*  619 */     checkOutParam(parameterIndex);
/*      */     
/*  621 */     if (!this.m_curRow[(parameterIndex - 1)].hasSqlType) {
/*  622 */       DBError.throwSQLException(6048);
/*      */     }
/*  624 */     if (Const.TRACE_LEVEL > 0) {
/*  625 */       DmdbLog.trace(this, "getCursor(int)", "parameterIndex = " + 
/*  626 */         parameterIndex);
/*      */     }
/*      */     
/*  629 */     int sqlType = this.m_curRow[(parameterIndex - 1)].sqlType;
/*  630 */     if ((sqlType != 50) && (sqlType != -10)) {
/*  631 */       DBError.throwSQLException(20006);
/*      */     }
/*  633 */     DmdbStatement_bs destStmt = this.m_curRow[(parameterIndex - 1)]
/*  634 */       .getCursorStmt();
/*  635 */     DmdbCSI.getMoreResult(destStmt, (short)1);
/*      */     
/*  637 */     DmdbResultSet_bs rs = destStmt
/*  638 */       .getResultSetPrivate(2);
/*  639 */     return rs;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/*  662 */     checkOutParam(parameterIndex);
/*      */     
/*  664 */     if (Const.TRACE_LEVEL > 0) {
/*  665 */       DmdbLog.trace(this, "getBigDecimal(int)", "parameterIndex = " + 
/*  666 */         parameterIndex);
/*      */     }
/*      */     
/*  669 */     BigDecimal bd = getBigDecimalWithServerDefinedScale(parameterIndex);
/*  670 */     if (bd == null) {
/*  671 */       return null;
/*      */     }
/*  673 */     if (this.m_curRow[(parameterIndex - 1)].hasSqlScale) {
/*  674 */       int scale = this.m_curRow[(parameterIndex - 1)].sqlScale;
/*  675 */       return bd.setScale(scale, 4);
/*      */     }
/*      */     
/*  678 */     return bd;
/*      */   }
/*      */   
/*      */   private BigDecimal getBigDecimalWithServerDefinedScale(int parameterIndex) throws SQLException
/*      */   {
/*  683 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/*  684 */       return null;
/*      */     }
/*  686 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  687 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  688 */     return CType2JType.getBigDecimal(bs, desc, getHandle(), this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(int i, Map map)
/*      */     throws SQLException
/*      */   {
/*  713 */     if (map == null) {
/*  714 */       return getObject(i);
/*      */     }
/*  716 */     return getObjectInner(i, map);
/*      */   }
/*      */   
/*      */ 
/*      */   private Object getObjectInner(int parameterIndex, Map map)
/*      */     throws SQLException
/*      */   {
/*  723 */     checkOutParam(parameterIndex);
/*      */     
/*  725 */     if (Const.TRACE_LEVEL > 0) {
/*  726 */       DmdbLog.trace(this, "getObjectInner(int)", "parameterIndex = " + 
/*  727 */         parameterIndex);
/*      */     }
/*      */     
/*  730 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/*  731 */     if ((this.connection.getComOra()) && (DmdbType.isNUMERICtype(DmdbType.dtypeToSqlType(desc.getDType(), desc.getTypeName()))))
/*      */     {
/*  733 */       return getBigDecimal(parameterIndex);
/*      */     }
/*      */     
/*  736 */     int sqlType = this.m_curRow[(parameterIndex - 1)].sqlType;
/*  737 */     this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag();
/*      */     
/*  739 */     if ((this.wasNullFlag) && (sqlType != 50) && (sqlType != -10)) {
/*  740 */       return null;
/*      */     }
/*  742 */     if ((sqlType == 50) || (sqlType == -10)) {
/*  743 */       return getCursor(parameterIndex);
/*      */     }
/*  745 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/*  746 */     String typeName = this.m_curRow[(parameterIndex - 1)].getTypeName();
/*  747 */     return CType2JType.getAllBySqlType(sqlType, bs, desc, getHandle(), 0L, 
/*  748 */       this.connection, map, typeName, false);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Ref getRef(int i)
/*      */     throws SQLException
/*      */   {
/*  767 */     DBError.throwUnsupportedSQLException();
/*  768 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Blob getBlob(int i)
/*      */     throws SQLException
/*      */   {
/*  786 */     checkOutParam(i);
/*      */     
/*  788 */     if (Const.TRACE_LEVEL > 0) {
/*  789 */       DmdbLog.trace(this, "getBlob(int)", "parameterIndex = " + i);
/*      */     }
/*      */     
/*  792 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/*  793 */       return null;
/*      */     }
/*  795 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/*  796 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/*  797 */     return CType2JType.getBlob(bs, desc, this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Clob getClob(int i)
/*      */     throws SQLException
/*      */   {
/*  815 */     checkOutParam(i);
/*      */     
/*  817 */     if (Const.TRACE_LEVEL > 0) {
/*  818 */       DmdbLog.trace(this, "getClob(int)", "parameterIndex = " + i);
/*      */     }
/*      */     
/*  821 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/*  822 */       return null;
/*      */     }
/*  824 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/*  825 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/*  826 */     return CType2JType.getClob(bs, desc, this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Array getArray(int i)
/*      */     throws SQLException
/*      */   {
/*  845 */     checkOutParam(i);
/*      */     
/*  847 */     if (Const.TRACE_LEVEL > 0) {
/*  848 */       DmdbLog.trace(this, "getArray(int)", "parameterIndex = " + i);
/*      */     }
/*      */     
/*  851 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/*  852 */       return null;
/*      */     }
/*  854 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/*  855 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/*  856 */     return CType2JType.getArray(bs, desc, this.connection);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public java.sql.Date getDate(int parameterIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/*  882 */     java.sql.Date d = getDate(parameterIndex);
/*  883 */     if (d == null) {
/*  884 */       return null;
/*      */     }
/*  886 */     if (cal == null) {
/*  887 */       cal = Calendar.getInstance();
/*      */     }
/*  889 */     cal.clear();
/*  890 */     cal.setTimeInMillis(d.getTime());
/*  891 */     return new java.sql.Date(cal.getTime().getTime());
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(int parameterIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/*  917 */     Time time = getTime(parameterIndex);
/*  918 */     if (time == null) {
/*  919 */       return null;
/*      */     }
/*  921 */     if (cal == null) {
/*  922 */       cal = Calendar.getInstance();
/*      */     }
/*  924 */     cal.clear();
/*  925 */     cal.setTimeInMillis(time.getTime());
/*  926 */     return new Time(cal.getTime().getTime());
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(int parameterIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/*  954 */     Timestamp timestamp = getTimestamp(parameterIndex);
/*  955 */     if (timestamp == null) {
/*  956 */       return null;
/*      */     }
/*  958 */     if (cal == null)
/*  959 */       cal = Calendar.getInstance();
/*  960 */     cal.clear();
/*  961 */     cal.setTime(timestamp);
/*      */     
/*  963 */     Timestamp xn = new Timestamp(cal.getTimeInMillis());
/*  964 */     int nanos = timestamp.getNanos();
/*  965 */     if (nanos != 0) {
/*  966 */       xn.setNanos(nanos);
/*      */     }
/*  968 */     return xn;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(int paramIndex, int sqlType, String typeName)
/*      */     throws SQLException
/*      */   {
/* 1012 */     if (Const.TRACE_LEVEL > 0) {
/* 1013 */       DmdbLog.trace(this, "registerOutParameter(int, int, String)", 
/* 1014 */         "parameterIndex = " + paramIndex + ", sqlType = " + sqlType + 
/* 1015 */         ", typeName = " + typeName);
/*      */     }
/*      */     
/* 1018 */     if (((sqlType == 2002) || (sqlType == 2000)) && 
/* 1019 */       (typeName != null) && 
/* 1020 */       (this.connection.getTypeMap().get(typeName) != null)) {
/* 1021 */       regOutParam(paramIndex, sqlType, typeName);
/*      */     } else {
/* 1023 */       regOutParam(paramIndex, sqlType);
/*      */     }
/*      */     
/* 1026 */     if ((sqlType == 50) || (sqlType == -10)) {
/* 1027 */       this.resultsCount = ((short)(this.resultsCount + 1));
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(String parameterName, int sqlType)
/*      */     throws SQLException
/*      */   {
/* 1061 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1062 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1063 */       registerOutParameter(parameterIndex[i], sqlType);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(String parameterName, int sqlType, int scale)
/*      */     throws SQLException
/*      */   {
/* 1093 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1094 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1095 */       registerOutParameter(parameterIndex[i], sqlType, scale);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public synchronized void registerOutParameter(String parameterName, int sqlType, String typeName)
/*      */     throws SQLException
/*      */   {
/* 1138 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1139 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1140 */       registerOutParameter(parameterIndex[i], sqlType, typeName);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public URL getURL(int parameterIndex)
/*      */     throws SQLException
/*      */   {
/* 1159 */     DBError.throwUnsupportedSQLException();
/* 1160 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setURL(String parameterName, URL val)
/*      */     throws SQLException
/*      */   {}
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setNull(String parameterName, int sqlType)
/*      */     throws SQLException
/*      */   {
/* 1199 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1200 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1201 */       setNull(parameterIndex[i], sqlType);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setBoolean(String parameterName, boolean x)
/*      */     throws SQLException
/*      */   {
/* 1220 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1221 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1222 */       setBoolean(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setByte(String parameterName, byte x)
/*      */     throws SQLException
/*      */   {
/* 1241 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1242 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1243 */       setByte(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setShort(String parameterName, short x)
/*      */     throws SQLException
/*      */   {
/* 1262 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1263 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1264 */       setShort(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setInt(String parameterName, int x)
/*      */     throws SQLException
/*      */   {
/* 1283 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1284 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1285 */       setInt(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setLong(String parameterName, long x)
/*      */     throws SQLException
/*      */   {
/* 1304 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1305 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1306 */       setLong(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setFloat(String parameterName, float x)
/*      */     throws SQLException
/*      */   {
/* 1325 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1326 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1327 */       setFloat(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setDouble(String parameterName, double x)
/*      */     throws SQLException
/*      */   {
/* 1346 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1347 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1348 */       setDouble(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setBigDecimal(String parameterName, BigDecimal x)
/*      */     throws SQLException
/*      */   {
/* 1368 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1369 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1370 */       setBigDecimal(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setString(String parameterName, String x)
/*      */     throws SQLException
/*      */   {
/* 1391 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1392 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1393 */       setString(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setBytes(String parameterName, byte[] x)
/*      */     throws SQLException
/*      */   {
/* 1414 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1415 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1416 */       setBytes(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setDate(String parameterName, java.sql.Date x)
/*      */     throws SQLException
/*      */   {
/* 1436 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1437 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1438 */       setDate(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setTime(String parameterName, Time x)
/*      */     throws SQLException
/*      */   {
/* 1458 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1459 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1460 */       setTime(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setTimestamp(String parameterName, Timestamp x)
/*      */     throws SQLException
/*      */   {
/* 1480 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1481 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1482 */       setTimestamp(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setAsciiStream(String parameterName, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 1510 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1511 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1512 */       setAsciiStream(parameterIndex[i], x, length);
/*      */     }
/*      */   }
/*      */   
/*      */   public void setAsciiStream(String parameterName, InputStream x, long length)
/*      */     throws SQLException
/*      */   {
/* 1519 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1520 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1521 */       setAsciiStream(parameterIndex[i], x, length);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setBinaryStream(String parameterName, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 1549 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1550 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1551 */       setBinaryStream(parameterIndex[i], x, length);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setObject(String parameterName, Object x, int targetSqlType, int scale)
/*      */     throws SQLException
/*      */   {
/* 1594 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1595 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1596 */       setObject(parameterIndex[i], x, targetSqlType, scale);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setObject(String parameterName, Object x, int targetSqlType)
/*      */     throws SQLException
/*      */   {
/* 1619 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1620 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1621 */       setObject(parameterIndex[i], x, targetSqlType);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setObject(String parameterName, Object x)
/*      */     throws SQLException
/*      */   {
/* 1664 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1665 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1666 */       setObject(parameterIndex[i], x);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setCharacterStream(String parameterName, Reader reader, int length)
/*      */     throws SQLException
/*      */   {
/* 1696 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1697 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1698 */       setCharacterStream(parameterIndex[i], reader, length);
/*      */     }
/*      */   }
/*      */   
/*      */   public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException
/*      */   {
/* 1704 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1705 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1706 */       setCharacterStream(parameterIndex[i], reader, length);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setDate(String parameterName, java.sql.Date x, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 1734 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1735 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1736 */       setDate(parameterIndex[i], x, cal);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setTime(String parameterName, Time x, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 1764 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1765 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1766 */       setTime(parameterIndex[i], x, cal);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setTimestamp(String parameterName, Timestamp x, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 1795 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1796 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1797 */       setTimestamp(parameterIndex[i], x, cal);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setNull(String parameterName, int sqlType, String typeName)
/*      */     throws SQLException
/*      */   {
/* 1834 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 1835 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 1836 */       setNull(parameterIndex[i], sqlType, typeName);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public String getString(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1859 */     int parameterIndex = getParamIndex(parameterName);
/* 1860 */     return getString(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean getBoolean(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1878 */     int parameterIndex = getParamIndex(parameterName);
/* 1879 */     return getBoolean(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte getByte(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1896 */     int parameterIndex = getParamIndex(parameterName);
/* 1897 */     return getByte(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public short getShort(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1914 */     int parameterIndex = getParamIndex(parameterName);
/* 1915 */     return getShort(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getInt(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1932 */     int parameterIndex = getParamIndex(parameterName);
/* 1933 */     return getInt(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public long getLong(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1950 */     int parameterIndex = getParamIndex(parameterName);
/* 1951 */     return getLong(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public float getFloat(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1968 */     int parameterIndex = getParamIndex(parameterName);
/* 1969 */     return getFloat(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public double getDouble(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 1986 */     int parameterIndex = getParamIndex(parameterName);
/* 1987 */     return getDouble(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte[] getBytes(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2005 */     int parameterIndex = getParamIndex(parameterName);
/* 2006 */     return getBytes(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public java.sql.Date getDate(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2023 */     int parameterIndex = getParamIndex(parameterName);
/* 2024 */     return getDate(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2042 */     int parameterIndex = getParamIndex(parameterName);
/* 2043 */     return getTime(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2062 */     int parameterIndex = getParamIndex(parameterName);
/* 2063 */     return getTimestamp(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2088 */     int parameterIndex = getParamIndex(parameterName);
/* 2089 */     return getObject(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2108 */     int parameterIndex = getParamIndex(parameterName);
/* 2109 */     return getBigDecimal(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(String parameterName, Map map)
/*      */     throws SQLException
/*      */   {
/* 2135 */     int parameterIndex = getParamIndex(parameterName);
/* 2136 */     return getObject(parameterIndex, map);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Ref getRef(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2154 */     DBError.throwUnsupportedSQLException();
/* 2155 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Blob getBlob(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2173 */     int parameterIndex = getParamIndex(parameterName);
/* 2174 */     return getBlob(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Clob getClob(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2192 */     int parameterIndex = getParamIndex(parameterName);
/* 2193 */     return getClob(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Array getArray(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2211 */     int parameterIndex = getParamIndex(parameterName);
/* 2212 */     return getArray(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public java.sql.Date getDate(String parameterName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 2238 */     int parameterIndex = getParamIndex(parameterName);
/* 2239 */     return getDate(parameterIndex, cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(String parameterName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 2265 */     int parameterIndex = getParamIndex(parameterName);
/* 2266 */     return getTime(parameterIndex, cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(String parameterName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 2294 */     int parameterIndex = getParamIndex(parameterName);
/* 2295 */     return getTimestamp(parameterIndex, cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public URL getURL(String parameterName)
/*      */     throws SQLException
/*      */   {
/* 2315 */     int parameterIndex = getParamIndex(parameterName);
/* 2316 */     return getURL(parameterIndex);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public DmdbIntervalYM getINTERVALYM(int i)
/*      */     throws SQLException
/*      */   {
/* 2332 */     checkOutParam(i);
/*      */     
/* 2334 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/* 2335 */       return null;
/*      */     }
/* 2337 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/* 2338 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/* 2339 */     return CType2JType.getIntervalYM(bs, desc, getHandle(), this.connection, false);
/*      */   }
/*      */   
/*      */   public DmdbIntervalYM getINTERVALYM(String s) throws SQLException {
/* 2343 */     return getINTERVALYM(getParamIndex(s));
/*      */   }
/*      */   
/*      */   public DmdbIntervalDT getINTERVALDT(int i) throws SQLException {
/* 2347 */     checkOutParam(i);
/*      */     
/* 2349 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/* 2350 */       return null;
/*      */     }
/* 2352 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/* 2353 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/* 2354 */     return CType2JType.getIntervalDT(bs, desc, getHandle(), this.connection, false);
/*      */   }
/*      */   
/*      */   public DmdbIntervalDT getINTERVALDT(String s) throws SQLException {
/* 2358 */     return getINTERVALDT(getParamIndex(s));
/*      */   }
/*      */   
/*      */   public DmdbTime getTIME(int i) throws SQLException {
/* 2362 */     checkOutParam(i);
/*      */     
/* 2364 */     if ((this.wasNullFlag = this.m_curRow[(i - 1)].getOutNullFlag())) {
/* 2365 */       return null;
/*      */     }
/* 2367 */     ParameterDesc desc = this.m_paramsDesc[(i - 1)];
/* 2368 */     byte[] bs = this.m_curRow[(i - 1)].getOutValue();
/* 2369 */     return CType2JType.getDmTime(bs, desc, getHandle(), this.connection, false);
/*      */   }
/*      */   
/*      */   public DmdbTime getTIME(String s) throws SQLException {
/* 2373 */     int index = getParamIndex(s);
/* 2374 */     return getTIME(index);
/*      */   }
/*      */   
/*      */   public void setTIME(String parameterName, DmdbTime t) throws SQLException {
/* 2378 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 2379 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 2380 */       setTIME(parameterIndex[i], t);
/*      */     }
/*      */   }
/*      */   
/*      */   public void setINTERVALDT(String parameterName, DmdbIntervalDT dt) throws SQLException
/*      */   {
/* 2386 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 2387 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 2388 */       setINTERVALDT(parameterIndex[i], dt);
/*      */     }
/*      */   }
/*      */   
/*      */   public void setINTERVALYM(String parameterName, DmdbIntervalYM ym) throws SQLException
/*      */   {
/* 2394 */     int[] parameterIndex = getParamIndex_forPL(parameterName);
/* 2395 */     for (int i = 0; i < parameterIndex.length; i++) {
/* 2396 */       setINTERVALYM(parameterIndex[i], ym);
/*      */     }
/*      */   }
/*      */   
/*      */   public Reader getCharacterStream(int parameterIndex) throws SQLException
/*      */   {
/* 2402 */     checkOutParam(parameterIndex);
/*      */     
/* 2404 */     if ((this.wasNullFlag = this.m_curRow[(parameterIndex - 1)].getOutNullFlag())) {
/* 2405 */       return null;
/*      */     }
/* 2407 */     ParameterDesc desc = this.m_paramsDesc[(parameterIndex - 1)];
/* 2408 */     byte[] bs = this.m_curRow[(parameterIndex - 1)].getOutValue();
/* 2409 */     return CType2JType.getCharacterStream(bs, desc, this.connection);
/*      */   }
/*      */   
/*      */   int getParamIndex(String ParamName) throws SQLException {
/* 2413 */     if (Const.TRACE_LEVEL > 0) {
/* 2414 */       if (ParamName != null) {
/* 2415 */         DmdbLog.trace(this, "getParamIndex(String)", "ParamName = " + 
/* 2416 */           ParamName);
/*      */       } else
/* 2418 */         DmdbLog.trace(this, "getParamIndex(String)", "ParamName = null");
/*      */     }
/* 2420 */     int pCount = -1;
/* 2421 */     for (int i = 0; i < this.m_paramsDesc.length; i++) {
/* 2422 */       if (this.m_paramsDesc[i].getName().equalsIgnoreCase(ParamName))
/*      */       {
/* 2424 */         pCount = i;
/* 2425 */         break;
/*      */       }
/*      */     }
/*      */     
/* 2429 */     if (pCount == -1) {
/* 2430 */       DBError.throwSQLException(6050);
/*      */     }
/* 2432 */     return pCount + 1;
/*      */   }
/*      */   
/*      */   int[] getParamIndex_forPL(String ParamName)
/*      */     throws SQLException
/*      */   {
/* 2438 */     int[] list = new int[this.m_paramsDesc.length];
/* 2439 */     if (Const.TRACE_LEVEL > 0) {
/* 2440 */       if (ParamName != null) {
/* 2441 */         DmdbLog.trace(this, "getParamIndex(String)", "ParamName = " + 
/* 2442 */           ParamName);
/*      */       } else {
/* 2444 */         DmdbLog.trace(this, "getParamIndex(String)", "ParamName = null");
/*      */       }
/*      */     }
/* 2447 */     int pCount = -1;
/* 2448 */     int x = 0;
/* 2449 */     for (int i = 0; i < this.m_paramsDesc.length; i++) {
/* 2450 */       if (this.m_paramsDesc[i].getName().equalsIgnoreCase(ParamName))
/*      */       {
/* 2452 */         list[x] = (i + 1);
/* 2453 */         pCount = i;
/* 2454 */         x++;
/*      */       }
/*      */     }
/*      */     
/* 2458 */     if (pCount == -1) {
/* 2459 */       DBError.throwSQLException(6050);
/*      */     }
/* 2461 */     int[] paramIndexs = new int[x];
/* 2462 */     System.arraycopy(list, 0, paramIndexs, 0, x);
/*      */     
/* 2464 */     return paramIndexs;
/*      */   }
/*      */   
/*      */   public String getPrintMsg() {
/* 2468 */     return this.printMsg;
/*      */   }
/*      */   
/*      */   void resetState() throws SQLException {
/* 2472 */     super.resetState();
/* 2473 */     this.wasNullFlag = false;
/*      */   }
/*      */   
/*      */   public synchronized void close() throws SQLException {
/* 2477 */     super.close();
/* 2478 */     this.wasNullFlag = false;
/*      */   }
/*      */ }


/* Location:              D:\Program Files\DBMS_20150813\jdbc\Dm7JdbcDriver17.jar!\dm\jdbc\driver\DmdbCallableStatement_bs.class
 * Java compiler version: 2 (46.0)
 * JD-Core Version:       0.7.1
 */